package com.cnap.multiclouldmgmt.model.network;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.List;

/**
 * 内存使用的情况
 *
 * @author xc
 **/
@ApiModel(value = "com.cnap.multiclouldmgmt.model.network.LinkRepInfoModel",description = "网络链路资源情况")
public class LinkRepInfoModel {

    //null
    @ApiModelProperty(value = "设备id")
    private long id;

    //1748275233697767425
    @ApiModelProperty(value = "policy id")
    private long srId;

    //  "name": "10::3_1",
    @ApiModelProperty(value = "名称")
    private String name;


    //"status": "up",
    @ApiModelProperty(value = "状态,up")
    private String status;

    //       "autoSync": false,
    @ApiModelProperty(value = "是否自动同步")
    private Boolean autoSync;

    //      "backupDevices": [
    //        "PE04",
    //        "PE01",
    //        "PE02",
    //        "PE03"
    //      ],
    @ApiModelProperty(value = "备路径")
    private List<String> backupDevices;

    //"cfgStatus": null
    @ApiModelProperty(value = "配置状态")
    private String cfgStatus;

    //      "colorTemplateName": null,
    @ApiModelProperty(value = "Color模板名称")
    private String colorTemplateName;

    //      "createTime": null,
    @ApiModelProperty(value = "创建时间")
    private String createTime;

    //      "delay": "0.06",
    @ApiModelProperty(value = "创建时间")
    private String delay;

    //      "dstDeviceAlias": "PE03",
    @ApiModelProperty(value = "目的网元别名")
    private String dstDeviceAlias;

    //      "dstDeviceName": "WH-PE",
    @ApiModelProperty(value = "目的网元别名")
    private String dstDeviceName;

    //      "dstDomainId": "-1",
    @ApiModelProperty(value = "目的网络域id")
    private String dstDomainId;

    //      "dstDomainName": "骨干网络域",
    @ApiModelProperty(value = "目的网络域名称")
    private String dstDomainName;

    //      "enableHsb": null,
    @ApiModelProperty(value = "使能HSB")
    private Boolean enableHsb;
    //      "jitter": 0
    @ApiModelProperty(value = "抖动")
    private String jitter;

    //  "loss": "0",
    @ApiModelProperty(value = "丢包率")
    private String loss;

    @ApiModelProperty(value = "主路经")
    private List<String> primaryDevices;

    //      "rate": 214380,
    @ApiModelProperty(value = "速率")
    private double rate;


    //      "separateStrategy": null,
    @ApiModelProperty(value = "共路策略")
    private String separateStrategy;


    // "srcDeviceAlias": "PE04",
    @ApiModelProperty(value = "源网元别名")
    private String srcDeviceAlias;
    //      "srcDeviceName": "BJ-PE",
    @ApiModelProperty(value = "源网元名称")
    private String srcDeviceName;

    //      "srcDomainId": "-1",
    @ApiModelProperty(value = "源网络域id")
    private String srcDomainId;

    //      "srcDomainName": "骨干网络域",
    @ApiModelProperty(value = "源网络域名称")
    private String srcDomainName;

    //      "vpnNames": [
    //        "SRv6业务创建",
    //        "沈阳开发测试"
    //      ],
    @ApiModelProperty(value = "vpnNames")
    private List<String> vpnNames;

    @ApiModelProperty(value = "带宽,单位bps")
    private long bw;


    public LinkRepInfoModel() {
    }

    /**
     * get
     *
     * @return Bw
     */
    public long getBw() {
        return bw;
    }

    /**
     * set
     *
     * @param bw bw
     */
    public void setBw(long bw) {
        this.bw = bw;
    }

    /**
     * get
     *
     * @return Id
     */
    public long getId() {
        return id;
    }

    /**
     * set
     *
     * @param id id
     */
    public void setId(long id) {
        this.id = id;
    }

    /**
     * get
     *
     * @return SrId
     */
    public long getSrId() {
        return srId;
    }

    /**
     * set
     *
     * @param srId srId
     */
    public void setSrId(long srId) {
        this.srId = srId;
    }

    /**
     * get
     *
     * @return Name
     */
    public String getName() {
        return name;
    }

    /**
     * set
     *
     * @param name name
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * get
     *
     * @return Status
     */
    public String getStatus() {
        return status;
    }

    /**
     * set
     *
     * @param status status
     */
    public void setStatus(String status) {
        this.status = status;
    }

    /**
     * get
     *
     * @return AutoSync
     */
    public Boolean getAutoSync() {
        return autoSync;
    }

    /**
     * set
     *
     * @param autoSync autoSync
     */
    public void setAutoSync(Boolean autoSync) {
        this.autoSync = autoSync;
    }

    /**
     * get
     *
     * @return BackupDevices
     */
    public List<String> getBackupDevices() {
        return backupDevices;
    }

    /**
     * set
     *
     * @param backupDevices backupDevices
     */
    public void setBackupDevices(List<String> backupDevices) {
        this.backupDevices = backupDevices;
    }

    /**
     * get
     *
     * @return CfgStatus
     */
    public String getCfgStatus() {
        return cfgStatus;
    }

    /**
     * set
     *
     * @param cfgStatus cfgStatus
     */
    public void setCfgStatus(String cfgStatus) {
        this.cfgStatus = cfgStatus;
    }

    /**
     * get
     *
     * @return ColorTemplateName
     */
    public String getColorTemplateName() {
        return colorTemplateName;
    }

    /**
     * set
     *
     * @param colorTemplateName colorTemplateName
     */
    public void setColorTemplateName(String colorTemplateName) {
        this.colorTemplateName = colorTemplateName;
    }

    /**
     * get
     *
     * @return CreateTime
     */
    public String getCreateTime() {
        return createTime;
    }

    /**
     * set
     *
     * @param createTime createTime
     */
    public void setCreateTime(String createTime) {
        this.createTime = createTime;
    }

    /**
     * get
     *
     * @return Delay
     */
    public String getDelay() {
        return delay;
    }

    /**
     * set
     *
     * @param delay delay
     */
    public void setDelay(String delay) {
        this.delay = delay;
    }

    /**
     * get
     *
     * @return DstDeviceAlias
     */
    public String getDstDeviceAlias() {
        return dstDeviceAlias;
    }

    /**
     * set
     *
     * @param dstDeviceAlias dstDeviceAlias
     */
    public void setDstDeviceAlias(String dstDeviceAlias) {
        this.dstDeviceAlias = dstDeviceAlias;
    }

    /**
     * get
     *
     * @return DstDeviceName
     */
    public String getDstDeviceName() {
        return dstDeviceName;
    }

    /**
     * set
     *
     * @param dstDeviceName dstDeviceName
     */
    public void setDstDeviceName(String dstDeviceName) {
        this.dstDeviceName = dstDeviceName;
    }

    /**
     * get
     *
     * @return DstDomainId
     */
    public String getDstDomainId() {
        return dstDomainId;
    }

    /**
     * set
     *
     * @param dstDomainId dstDomainId
     */
    public void setDstDomainId(String dstDomainId) {
        this.dstDomainId = dstDomainId;
    }

    /**
     * get
     *
     * @return DstDomainName
     */
    public String getDstDomainName() {
        return dstDomainName;
    }

    /**
     * set
     *
     * @param dstDomainName dstDomainName
     */
    public void setDstDomainName(String dstDomainName) {
        this.dstDomainName = dstDomainName;
    }

    /**
     * get
     *
     * @return EnableHsb
     */
    public Boolean getEnableHsb() {
        return enableHsb;
    }

    /**
     * set
     *
     * @param enableHsb enableHsb
     */
    public void setEnableHsb(Boolean enableHsb) {
        this.enableHsb = enableHsb;
    }

    /**
     * get
     *
     * @return Jitter
     */
    public String getJitter() {
        return jitter;
    }

    /**
     * set
     *
     * @param jitter jitter
     */
    public void setJitter(String jitter) {
        this.jitter = jitter;
    }

    /**
     * get
     *
     * @return Loss
     */
    public String getLoss() {
        return loss;
    }

    /**
     * set
     *
     * @param loss loss
     */
    public void setLoss(String loss) {
        this.loss = loss;
    }

    /**
     * get
     *
     * @return PrimaryDevices
     */
    public List<String> getPrimaryDevices() {
        return primaryDevices;
    }

    /**
     * set
     *
     * @param primaryDevices primaryDevices
     */
    public void setPrimaryDevices(List<String> primaryDevices) {
        this.primaryDevices = primaryDevices;
    }

    /**
     * get
     *
     * @return Rate
     */
    public double getRate() {
        return rate;
    }

    /**
     * set
     *
     * @param rate rate
     */
    public void setRate(double rate) {
        this.rate = rate;
    }

    /**
     * get
     *
     * @return SeparateStrategy
     */
    public String getSeparateStrategy() {
        return separateStrategy;
    }

    /**
     * set
     *
     * @param separateStrategy separateStrategy
     */
    public void setSeparateStrategy(String separateStrategy) {
        this.separateStrategy = separateStrategy;
    }

    /**
     * get
     *
     * @return SrcDeviceAlias
     */
    public String getSrcDeviceAlias() {
        return srcDeviceAlias;
    }

    /**
     * set
     *
     * @param srcDeviceAlias srcDeviceAlias
     */
    public void setSrcDeviceAlias(String srcDeviceAlias) {
        this.srcDeviceAlias = srcDeviceAlias;
    }

    /**
     * get
     *
     * @return SrcDeviceName
     */
    public String getSrcDeviceName() {
        return srcDeviceName;
    }

    /**
     * set
     *
     * @param srcDeviceName srcDeviceName
     */
    public void setSrcDeviceName(String srcDeviceName) {
        this.srcDeviceName = srcDeviceName;
    }

    /**
     * get
     *
     * @return SrcDomainId
     */
    public String getSrcDomainId() {
        return srcDomainId;
    }

    /**
     * set
     *
     * @param srcDomainId srcDomainId
     */
    public void setSrcDomainId(String srcDomainId) {
        this.srcDomainId = srcDomainId;
    }

    /**
     * get
     *
     * @return SrcDomainName
     */
    public String getSrcDomainName() {
        return srcDomainName;
    }

    /**
     * set
     *
     * @param srcDomainName srcDomainName
     */
    public void setSrcDomainName(String srcDomainName) {
        this.srcDomainName = srcDomainName;
    }

    /**
     * get
     *
     * @return VpnNames
     */
    public List<String> getVpnNames() {
        return vpnNames;
    }

    /**
     * set
     *
     * @param vpnNames vpnNames
     */
    public void setVpnNames(List<String> vpnNames) {
        this.vpnNames = vpnNames;
    }
}
